package com.jueban.service;

import com.jueban.Dto.*;
import com.jueban.Vo.ApplyOfIPVo;
import com.jueban.Vo.ApplyOfIPsVo;
import com.jueban.Vo.ResultVo;
import com.jueban.model.ApplyOfIP;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;


public interface ApplyOfIPService {
    ApplyOfIPVo getApplyOfIP(int id);

    ResultVo addApplyOfIP(ApplyOfIPDto applyOfIPDto, MultipartFile file);

    ResultVo deleteApplyOfIP(int id);

    /*
    ResultVo departmentAudit(DepartmentAuditDto departmentAuditDto);

    ResultVo managerAudit(SuggestAuditDto suggestAuditDto);

    ResultVo academicAudit(SuggestAuditDto suggestAuditDto);*/

    ApplyOfIPsVo findTeacherApplyOfIP(Pageable pageable, ApplyOfIPQueryDto applyOfIPQueryDto);

    ApplyOfIPsVo getSelfApplyOfIP(Pageable pageable, ApplyOfIPQueryDto applyOfIPQueryDto);

    ResultVo auditApply(SuggestAuditDto suggestAuditDto);

    File getApplyOfIPApplyFile(int id);

    ResultVo enterProxyAudit(ProxyAuditDto proxyAuditDto, MultipartFile file);

    File getProxyFile(int id);

    ResultVo enterAuthorizedFile(AuthorizedDto authorizedDto, MultipartFile file);

    File getAuthorizedFile(int id);

    ApplyOfIPsVo getAdminApplyOfIP(Pageable pageable, ApplyOfIPQueryDto applyOfIPQueryDto);
}
